Это библиотеки, которые FreeCAD использует в качестве сторонних зависимостей во время компиляции. Обычно они dynamically linked libraries и имеют расширение .so
в Linux/macOS и .dll
в Windows и сопровождаются их заголовочными файлами .h
или .hpp
или аналогичными. Если необходима измененная библиотека или необходим класс-оболочка, код измененной библиотеки или оболочки должен стать частью исходного кода FreeCAD и быть скомпилирован вместе с ним.
Перед компиляцией в системе должны быть установлены зависимости; см. компиляция в Linux, компиляция в Windows и компиляция в macOS для получения большей информации.
Если вы компилируете с помощью Windows, рассмотрите возможность использования LibPack вместо того, чтобы пытаться устанавливать библиотеки самостоятельно.
Версия: 3.3 или выше
Лицензия: Python 3.3 license
Python - это общедоступный универсальный язык сценариев, который широко используется в Linux и программном обеспечении с открытым исходным кодом. В FreeCAD Python используется во время компиляции, а также во время выполнения разными способами. Он используется:
В Linux Python обычно уже установлен в вашем дистрибутиве. Для Windows вы можете получить предварительно скомпилированный двоичный файл из Python.org или использовать ActiveState Python, однако получить отладочные библиотеки из последнего сложнее.
Python был выбран в качестве языка сценариев для FreeCAD по разным причинам:
Таким образом, Python хорошо документирован, и его легко встраивать и расширять в приложение на C++. Он также хорошо протестирован и пользуется сильной поддержкой сообщества с открытым исходным кодом. Узнайте больше о Python и просмотрите официальную документацию по адресу Python.org.
Версия: 1.33 или выше
Лицензия: Boost Software License - Версия 1.0
Библиотеки Boost C++-это коллекции рецензируемых библиотек с открытым исходным кодом, которые расширяют функциональность C++. Они предназначены для широкого использования в широком спектре приложений и хорошо работают со стандартной библиотекой C++. Лицензия Boost предназначена для поддержки их использования как в проектах с открытым исходным кодом, так и в проектах с закрытым исходным кодом.
Из-за их популярности и стабильности многие библиотеки Boost были приняты для включения в стандарт C++11, и еще больше планируется включить в последующие стандарты C++.
Для обеспечения эффективности и гибкости Boost широко использует шаблоны. Boost был источником широкой работы и исследований в области общего программирования и метапрограммирования на C++. Узнайте больше о Boost, посетив Boost homepage.
Версия: 6.7 и выше
Лицензия: версия 6.7.0 и более поздние версии регулируются GNU Lesser General Public License (LGPL) version 2.1 with additional exception. В более ранних версиях используется Open CASCADE Technology Public License.
Технология OpenCascade (OCCT) - это полнофункциональное ядро CAD профессионального уровня. Он был разработан в 1993 году и первоначально назывался CAS.CADE компанией Matra Datavision во Франции для квантовых приложений Strim (Styler) и Евклида. В 1999 году он был выпущен как программное обеспечение с открытым исходным кодом, и с тех пор он называется OpenCascade.
OCCT - это большой и сложный набор библиотек C++, которые обеспечивают функциональность, необходимую для приложения CAD:
В разных дистрибутивах Linux существуют две основные версии OpenCascade. Один из них распространяется оригинальными разработчиками; он известен как OCCT и упакован под именами occ
или occt
. Другая версия - "издание сообщества", сокращенное OCE, и обычно встречается с именем oce
. FreeCAD может компилироваться с любой версией, однако с 2016 года FreeCAD рекомендует компилироваться с официальными библиотеками OCCT, а не с официальными библиотеками OCE. Причина в том, что в издании сообщества отсутствуют важные исправления ошибок и функции, которые улучшают использование FreeCAD.
Чтобы узнать больше, посетите OpenCASCADE website.
Версия: 4.1 или выше
Лицензия: GPL v2.0/v3.0 или коммерческая; с версии 4.5, также LPGL v2.1.
Qt-один из самых популярных наборов инструментов графического пользовательского интерфейса (GUI), доступных в мире с открытым исходным кодом. FreeCAD использует этот инструментарий для рисования интерфейса программы. Для этого приложение Qt Designer очень полезно, так как оно позволяет разработчикам быстро рисовать диалоговые окна, экспортировать их в виде файловых ресурсов XML, а затем загружать эти интерфейсы во время выполнения.
Дополнительная информация о библиотеках Qt и их программной документации доступна по адресу Qt Documentation.
Shiboken-это генератор привязки Python, который Qt для Python использует для создания модуля PySide, другими словами, это система, используемая для предоставления API Qt C++ языку Python.
Оригинальные пакеты Shiboken и PySide предназначены для использования с Python 2 и Qt4; поскольку эти две версии считаются устаревшими в 2019 году, пожалуйста, используйте Shiboken2 и PySide2, которые работают с Python 3 и Qt5. Новая разработка FreeCAD выполняется с Python 3 и Qt5, поэтому совместимость с Python 2 и Qt4 не гарантируется после FreeCAD 0.18.
Подробнее о Shiboken и Pyside читайте на Qt для Python.
Версия: 3.0 и выше
Лицензия: 3-пунктовая BSD лицензия
Coin3D-это высокоуровневая библиотека 3D-графики с интерфейсом прикладного программирования на C++. Он использует структуры данных scenegraph для визуализации графики в реальном времени, подходящей для всех видов научных и инженерных приложений визуализации.
Coin3D построен на базе стандартной отраслевой библиотеки рендеринга в немедленном режиме OpenGL и добавляет абстракции для примитивов более высокого уровня, обеспечивает интерактивность 3D и содержит множество сложных функций оптимизации для быстрого рендеринга, которые понятны для прикладного программиста.
Coin3D совместим с API SGI Open Inventor 2.1. Этот API стал фактически стандартным графическим интерфейсом для 3D-визуализации в научном и инженерном сообществе. Он доказал свою ценность с 2000 года в качестве основного строительного блока в тысячах инженерных приложений по всему миру.
Coin3D (Open Inventor) используется в качестве 3D-средства просмотра в FreeCAD, поскольку средство просмотра OpenCascade (AIS и Graphics3D) имеет ограничения и узкие места в производительности, особенно при крупномасштабной инженерной визуализации; другие вещи, такие как текстуры или объемный рендеринг, не полностью поддерживаются средством просмотра OpenCascade.
Coin3D переносим на широкий спектр платформ: операционные системы UNIX, Linux, BSD, macOS X и Microsoft Windows. Чтобы узнать больше об этой библиотеке, посетите домашнюю страницу Coin3D.
Версия: 1.2.0 или выше
Лицензия: 3-пунктовая BSD лицензия
SoQt-это привязка Coin3D (Open Inventor) к инструментарию Qt GUI.
SoQt больше не используется в FreeCAD, он был заменен на Quarter, который является более поздней привязкой Qt.
Версия: 1.0 или выше
Лицензия: 3-пунктовая BSD лицензия
Quarter-это более новая привязка Coin3D к инструментарию Qt. Его версия включена в исходный код FreeCAD, поэтому она компилируется вместе с ним.
Версия: 0.6.3 или выше
Лицензия: 3-пунктовая BSD лицензия
Pivy - это библиотека, является оберткой для библиотеки Coin3d при использовании её в Python. Она не нужна при сборке FreeCAD или для его запуска, но она необходима в качестве runtime зависимости верстака Draft и других верстаков, которые используют его внутри, например Arch и BIM.
Если вы не собираетесь использовать эти верстаки, вам не понадобится Pivy.
Версия: 3.11 или выше
Лицензия: 3-пунктовая BSD лицензия
Ply-это синтаксический анализатор Python-Lex-Yacc. Он используется в качестве runtime зависимости верстака OpenSCAD. Если вы не используете данный верстак, вам может не понадобиться этот пакет.
Для подробной информации см. Ply homepage
Версия: 3.0 или выше
Лицензия: Apache Software License Версия 2.0
Xerces-C++ - это проверяющий синтаксический анализатор XML, написанный на переносимом подмножестве C++. Xerces-C++ позволяет легко предоставить вашему приложению возможность чтения и записи XML-данных. Общая библиотека предназначена для анализа, создания, обработки и проверки XML - документов. Xerces-C++ соответствует рекомендациям XML 1.0 и соответствующим стандартам.
Анализатор используется для сохранения и восстановления параметров в FreeCAD. Для получения дополнительной информации см. Xerces-C++ homepage.
Версия: 3.0 или выше
Лицензия: Начиная с версии 3.1.1, она лицензируется в соответствии с Mozilla Public License 2.0. Более ранние версии были лицензированы в соответствии с GNU Lesser General Public License 3.
Eigen-это библиотека моделей C++ для линейной алгебры: матрицы, векторы, численные решатели и связанные с ними алгоритмы.
Если вы просто хотите использовать Eigen, вы можете сразу же использовать файлы заголовков. Нет двоичной библиотеки, на которую можно было бы ссылаться, и нет настроенного файла заголовка. Eigen-это чистая библиотека шаблонов, определенная в заголовках.
Eigen используется в FreeCAD для многих векторных операций в 3D-пространстве. Чтобы узнать больше, посетите Eigen homepage.
Версия: 0.1.5 или выше
Лицензия: GNU Lesser General Public License 2.1
Zipios++ - это библиотека C++ для чтения и записи файлов .zip
. Доступ к отдельным записям обеспечивается с помощью стандартных потоков ввода-вывода C++. Простая виртуальная файловая система, доступная только для чтения, которая монтирует обычные каталоги и .zip
файлы также предоставляются. Структура и общедоступный интерфейс Zipios++ в значительной степени основаны на пакете Java java.util.zip
.
Собственный формат файла FreeCAD .FCstd
на самом деле является .zip
файл, в котором хранятся и сжимаются другие типы данных внутри него, такие как файлы BREP и XML. Поэтому Zipios++ используется для сохранения и открытия сжатых архивов, включая файлы FreeCAD.
Копия Zipios++ включена в исходный код FreeCAD, поэтому она компилируется вместе с ним. Если вы хотите использовать внешнюю библиотеку Zipios++, предоставляемую вашей операционной системой, вы можете установить -DFREECAD_USE_EXTERNAL_ZIPIOS=ON
с помощью cmake
.
Zipios++ использует библиотеку Zlib для выполнения фактической распаковки файлов.
Версия: 1.0 или выше
Лицензия: zlib лицензия
Zlib разработан как бесплатная универсальная библиотека сжатия данных без потерь для использования на любом компьютерном оборудовании и операционной системе. Он реализует алгоритм сжатия DEFLATE
, обычно используемый в .zip
и .gzip
файлы.
Копия этой библиотеки включена в исходный код FreeCAD, поэтому она компилируется вместе с ней.
Версия: 0.0.20140514-1 или выше
Лицензия: 3-пунктовая BSD лицензия
Libarea-это библиотека программного обеспечения для вычисления профилей и карманных операций, которые используются в программном обеспечении для автоматизированного производства (CAM). Он был создан Дэном Хиксом для его проекта HeeksCNC.
Копия библиотеки включена в исходный код верстака Path, поэтому она компилируется вместе с ним.
LibPack - это удобный пакет с собранными вместе зависимостями сборки FreeCAD. Это необходимо только в том случае, если вы компилируете FreeCAD в Windows с Visual Studio 2015 и выше. Вы можете найти последнюю версию LibPack на releases page.
Если вы работаете под Linux, вам не нужен пакет LibPack, так как вы можете получить зависимости из репозиториев вашего дистрибутива, как это указано на странице компиляции в Linux.
Смотрите на форуме: Новые libpacks для Windows с Qt5.12, OCC7.3 и Python 3.6 от apeltauer
Он включает, среди прочего: Boost 1.67, Coin3D 4.0.0 a, Eigen3, Open CASCADE Technology 7.3.0, Python 3.6.8, PySide2, Qt 5.12.1, Salome SMESH, Shiboken2, vtk7, Xerces-C, Zipios++, zlib 1.2.11